Camera resectioning
Camera resectioning (often called camera calibration) is the process of finding the true parameters of the camera that produced a given photograph or video. Mostly, the camera parameters were represented in a 3\times4 matrix called Camera matrix. Parameters of camera model Often, we use \begin{bmatrix}u&v&1\end{bmatrix}^{\mathrm{T}} to represent a 2D point position in Pixel coordinates. \begin{bmatrix}x_w&y_w&z_w&1\end{bmatrix}^{\mathrm{T}} is used to represent a 3D point position in World coordinates.Note: they were expressed in augmented notation of Homogeneous coordinates which is most common notation in Robotics and rigid body transforms. Referring to the pinhole camera model, a camera matrix is used to denote a projective mapping from World coordinates to Pixel coordinates. : z_{c}\begin{bmatrix} u\\ v\\ 1\end{bmatrix}=A \begin{bmatrix} R & T\\ 0 & 1\end{bmatrix}\begin{bmatrix} x_{w}\\ y_{w}\\ z_{w}\\ 1\end{bmatrix} Intrinsic parameters : A=\begin{bmatrix} \alpha_{x} & \gamma & u_{0}\\ 0 & \alpha_{y} & v_{0}\\ 0 & 0 & 1\end{bmatrix} The intrinsic matrix containing 5 intrinsic parameters. These parameters encompass focal length, image format, and principal point. The parameters \alpha_{x} = f \cdot m_{x} and \alpha_{y} = f \cdot m_{y} represent focal length in terms of pixels, where m_{x} and m_{y} are the scale factors relating pixels to distance. Lens distortion is an important parameter of cameras, but is not included in the intrinsic parameter matrix. Many modern camera calibration algorithms estimate these distortion coefficients. Extrinsic parameters \textbf R,T is the extrinsic parameters denote that coordinate system transformations from world coordinates to camera coordinates.These parameters characterize the transformation that maps 3D points in the scene to 2D points in the camera plane. Camera calibration is often used as an early stage in Computer Vision and especially in the field of Augmented reality. When a camera is used, light from the environment is focused on an image plane and captured. This process reduces the dimensions of the data taken in by the camera from three to two (light from a 3D scene is stored on a 2D image). Each pixel on the image plane therefore corresponds to a shaft of light from the original scene. Camera resectioning determines which incoming light is associated with each pixel on the resulting image. In an ideal pinhole camera, a simple projection matrix is enough to do this. With more complex camera systems, errors resulting from misaligned lenses and deformations in their structures can result in more complex distortions in the final image. The camera projection matrix is derived from the intrinsic and extrinsic parameters of the camera, and is often represented by the series of transformations; e.g. a matrix of camera intrinsic parameters, a 3x3 rotation matrix, and a translation vector. The camera projection matrix can be used to associate points in a camera's image space with locations in 3D world space. Camera resectioning is often used in the application of stereo vision where the camera projection matrices of two cameras are used to calculate the 3D world coordinates of a point viewed by both cameras. Some people call this camera calibration, but many restrict the term camera calibration for the estimation of internal or intrinsic parameters only. Algorithms There are many different approaches to calculate the intrinsic and extrinsic parameters for a specific camera setup. # Direct linear transformation (DLT) method # A classical approach is Roger Y. Tsai's Algorithm.It is a 2-stage algorithm, calculating the pose (3D Orientation, and x-axis and y-axis translation) in first stage. In second stage it computes the focal length, distortion coefficients and the z-axis translation. # Zhang Zhenyou's "a flexible new technique for camera calibration" based on a planar chess board. It is based on constrains on homography Zhang's method Zhang's camera calibration methodZ. Zhang, "A flexible new technique for camera calibration'", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.22, No.11, pages 1330-1334, 2000 employs abstract concepts like the image of the absolute conic and circular points. Derivation Assume we have a homography \textbf{H} that maps points x_\pi on a "probe plane" \pi to points x on the image. The circular points I, J = \begin{bmatrix} 1 \\ \pm j \\ 0 \end{bmatrix} lie on both our probe plane \pi and on the absolute conic \Omega_\infty . Lying on \Omega_\infty of course means they are also projected onto the image of the absolute conic (IAC) \omega , thus x_1^T \omega x_1= 0 and x_2^T \omega x_2= 0 . The circular points project as \begin{align} x_1 & = \textbf{H} I = \begin{bmatrix} h_1 & h_2 & h_3 \end{bmatrix} \begin{bmatrix} 1 \\ j \\ 0 \end{bmatrix} = h_1 + j h_2 \\ x_2 & = \textbf{H} J = \begin{bmatrix} h_1 & h_2 & h_3 \end{bmatrix} \begin{bmatrix} 1 \\ -j \\ 0 \end{bmatrix} = h_1 - j h_2 \end{align} . We can actually ignore x_2 while substituting our new expression for x_1 as follows: \begin{align} x_1^T \omega x_1 &= \left ( h_1 + j h_2 \right )^T \omega \left ( h_1 + j h_2 \right ) \\ &= \left ( h_1^T + j h_2^T \right ) \omega \left ( h_1 + j h_2 \right ) \\ &= h_1^T \omega h_1 + j \left ( h_2^T \omega h_2 \right ) \\ &= 0 \end{align} which, when separating real and imaginary parts gives us \begin{align} h_1^T \omega h_1 &= 0 \\ h_2^T \omega h_2 &= 0 \end{align} Since conics are symmetric matrices, \omega = \omega^T and... See also * Augmented reality * Augmented virtuality * Mixed reality * Pinhole camera model External links * Camera Calibration Toolbox for Matlab * Camera Calibration - Augmented reality lecture at TU Muenchen, Germany * Tsai's Approach * Camera calibration (using ARToolKit) * A Four-step Camera Calibration Procedure with Implicit Image Correction References Category:Geometry in computer vision Category:Mixed reality